In the field of pattern recognition such as image recognition or voice recognition, in order to make use of as much information as possible that is effective for recognition purposes, it is not uncommon to use a feature vector having an extremely high number of dimensions, such as dimensions to the degree of several tens of thousands to hundreds of thousands. In that regard, there is a known approach in which the dimensions of the feature vector are reduced in number to generate a low-dimensional feature vector, and a recognition operation is performed using the low-dimensional feature vector.
As dimension reduction methods in such an approach; for example, there is a method of using principal component analysis to perform dimension reduction in such a way that the error of mean square before and after performing dimension reduction is the smallest. In this method, in the case of performing reduction from a Din dimension to a Dout dimension, the high-dimensional vector of the Din dimension is multiplied with a Dout×Din matrix and a low-dimensional vector of the Dout dimension is calculated.
However, in this method, the volume of data of the Din dimension reaches an extremely large value. Hence, the volume of data of the Dout×Din matrix also reaches an extremely large value. For that reason, it becomes necessary to use a memory device such as a memory having an extremely large memory capacity for storing the Dout×Din matrix. Besides, the amount of calculations accompanying the dimension reduction also increases to enormous proportions, because of which it takes time to achieve dimension reduction.
In that regard, as another method, a technology is known in which some elements of the Dout×Din matrix are set to be nonzero elements, thereby achieving reduction in the memory capacity required to store the Dout×Din matrix.
However, in such a conventional technology, the nonzero elements are present in an intermittent manner. Consequently, while performing the calculations accompanying dimension reduction, the memory area is also accessed in an intermittent manner, thereby making it difficult to speed up the calculations. For that reason, it takes time to achieve dimension reduction.